package com.ts.api.module.api.convert.platform.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.gitee.apanlh.util.base.BigDecimalUtils;
import com.ts.api.module.api.entity.ApiProtocol;
import lombok.Data;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;

/**
 *  平台手机号掩码实体
 *
 *  @author Pan
 */
@Data
public class RespPlatformPhoneMaskDataExchange {

    /** 主体名称 */
    private String productName;
    /** 投放名称-简称 */
    @JSONField(alternateNames = {"companyName"})
    private String displayName;
    /** 手机号掩码模式-返回的md5列表 */
    private List<String> listPhoneMd5;
    /** 返回价格 */
    private BigDecimal price;
    /** 订单号 */
    private String applyId;
    /** 平台返回的回调页面 */
    @JSONField(alternateNames = {"url"})
    private String callUrl;
    /** 协议集合 */
    private List<ApiProtocol> protocolList;
    /** 展示lOGO地址 */
    private String logoPath;

    /**
     *  构建
     *  @return
     */
    public static RespPlatformPhoneMaskDataExchange of() {
        return new RespPlatformPhoneMaskDataExchange();
    }

    /**
     *  计算分润价
     *
     *  @param  productPlanShare        平台计划分润比例
     *  @return String
     */
    public BigDecimal calculateSharePrice(BigDecimal productPlanShare) {
        BigDecimal percent = BigDecimalUtils.division(productPlanShare, 100);
        //  原价 * 渠道分成份额% = 分润后的单价
        BigDecimal sharePrice = BigDecimalUtils.multiply(this.getPrice(), percent).setScale(2, RoundingMode.DOWN);
        return sharePrice;
    }
}
